package com.xinqi.modules.exam.task.convert;

import com.xinqi.common.mapstruct.CommonConvertConfig;
import com.xinqi.modules.exam.task.domain.AsyncTaskProcessLogEntity;
import com.xinqi.modules.exam.task.dto.req.AsyncTaskProcessLogCreateDTO;
import com.xinqi.modules.exam.task.dto.req.AsyncTaskProcessLogUpdateDTO;
import com.xinqi.modules.exam.task.dto.rsp.AsyncTaskProcessLogResultDTO;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;

/**
 * 异步任务处理日志转换
 *
 * @author: linkai
 * @date: 2023/07/08
 */
@Mapper(config = CommonConvertConfig.class)
public abstract class AsyncTaskProcessLogConvert {
    public abstract AsyncTaskProcessLogEntity create(AsyncTaskProcessLogCreateDTO s);

    public abstract AsyncTaskProcessLogEntity update(AsyncTaskProcessLogUpdateDTO s, @MappingTarget AsyncTaskProcessLogEntity t);

    public abstract AsyncTaskProcessLogEntity update(AsyncTaskProcessLogUpdateDTO s);

    public abstract AsyncTaskProcessLogResultDTO convert(AsyncTaskProcessLogEntity s);
}
